home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 15
/
Aminet 15 - Nov 1996.iso
/
Aminet
/
dev
/
gcc
/
ixemsdk.lha
/
man
/
cat1
/
ixrun.0
next >
Wrap
Text File
|
1996-09-01
|
4KB
|
133 lines
IXRUN(1) IXRUN(1)
NNAAMMEE
ixrun - run AmigaDOS scripts from within /bin/sh
SSYYNNOOPPSSIISS
iixxrruunn [ --qq | --qqvv | --nn | --nnvv ] filename [ arguments... ]
DDEESSCCRRIIPPTTIIOONN
_I_x_r_u_n makes it possible to run AmigaDOS scripts from
/bin/sh or from other Unix programs. The _i_x_e_m_u_l_._l_i_b_r_a_r_y
uses the first line of a file to find out to which program
it should feed the file. Normally this is _/_b_i_n_/_s_h, but
you can use any program you want. Shell scripts usually
start with ##!!//bbiinn//sshh. Unfortunately, AmigaDOS scripts use
a semi-colon to start a comment, not the ##-sign. However,
the _i_x_e_m_u_l_._l_i_b_r_a_r_y also accepts ;;!!. So one would expect
that starting a script with ;;!!//cc//eexxeeccuuttee would work. But
it doesn't. First of all, _c_:_e_x_e_c_u_t_e does some weird things
that prevent us from using this possibility. Secondly,
AmigaDOS won't recognize the ..kkeeyy sequence unless it is at
the beginning of the script. To work around this second
problem, the _i_x_e_m_u_l_._l_i_b_r_a_r_y skips the first line of the
script if it starts with ..kkeeyy. So you should put the ;;!!
sequence at the second line instead. If you _d_o_n_'_t use
..kkeeyy, then you should put the ;;!! sequence at the begin-
ning of the script as usual.
To work around the first problem I wrote _i_x_r_u_n, a small
utility to replace _c_:_e_x_e_c_u_t_e. Just start an AmigaDOS
script with ;;!!//bbiinn//iixxrruunn (possibly preceeded by the ..kkeeyy
line) and you can now run it from within _/_b_i_n_/_s_h or any
other Unix program.
OOPPTTIIOONNSS
--nn Don't put quotes around the arguments.
--qq Put quotes around every argument that you pass to
your script. This is the default. _i_x_r_u_n builds a
command line which starts with the filename of the
script (the ffiilleennaammee argument) followed by the
other arguments passed to _i_x_r_u_n. This command line
is executed by calling the _d_o_s_._l_i_b_r_a_r_y function
_E_x_e_c_u_t_e. That is, iixxrruunn ssccrriipptt ""HHeelllloo wwoorrlldd"" will
execute ssccrriipptt ""HHeelllloo wwoorrlldd"", as one would expect.
But iixxrruunn --nn ssccrriipptt ""HHeelllloo wwoorrlldd"" will execute
ssccrriipptt HHeelllloo wwoorrlldd. That is, the single argument
HHeelllloo wwoorrlldd has been split into two. So take care.
--qqvv Debugging: show the command line that should be
executed if the option --qq was used, without actu-
ally executing it.
--nnvv Debugging: show the command line that should be
executed if the option --nn was used, without actu-
ally executing it.
1
IXRUN(1) IXRUN(1)
AAUUTTHHOORR
Hans Verkuil (_h_a_n_s_@_w_y_s_t_._h_o_b_b_y_._n_l)
2